# -*- coding: UTF-8 -*-

from tkinter import *

class login:
    def __init__(self, parent):
        self.root=Tk()
        self.afficherAccueil()
        self.parent = parent
        self.joueurActuel = [self.nom.get()]
        self.pageOuverte=""        
      
    def afficherAccueil(self):
        self.pageOuverte = "Accueil"
        self.frameAccueil = Frame(self.root)
        self.msgAccueil = Label(self.frameAccueil, text="RTS-->Team Underdog", font=("Calibri", 16), fg="red")
        self.msgAccueil.grid(row=0,column=0,columnspan=2)
        l1 = Label(self.frameAccueil, text="Nom du joueur: ")
        l2 = Label(self.frameAccueil, text="Adresse du serveur: ")
        l1.grid(row=1,column=0)
        l2.grid(row=2,column=0)
        self.nom = Entry(self.frameAccueil)
        self.adresse = Entry(self.frameAccueil)
        self.nom.grid(row=1,column=1)
        self.adresse.grid(row=2,column=1)
        self.buttonCreation = Button(self.frameAccueil, text="Créer une partie", command = self.creation)
        self.buttonConnect = Button(self.frameAccueil, text="Connecter au serveur", command=self.joindrePartie)
        self.buttonCreation.grid(row=3,column=0,columnspan=2)
        self.buttonConnect.grid(row=4,column=0,columnspan=2)
        
        self.frameAccueil.pack()    
        
    def joindrePartie(self):
        self.pageOuverte = "Lobby"
        self.parent.connecter(self.adresse.get(),self.nom.get())
        self.joueurActuel = [self.nom.get()]
        self.afficherGameLobby(0)
    
    def afficherJeu(self):
        self.vue = ControleurClient()
        
    def creation(self):
        self.pageOuverte = "Lobby"
        self.parent.connecter(self.adresse.get(),self.nom.get())
        self.joueurActuel = [self.nom.get()]
        self.afficherGameLobby(1)  ###PLUS BAS DANS LE MEME FICHIER###
    
    def dessinerLobby(self):
        v=self.parent.getPartieCommence()
        if (v==True):
            self.parent.nouvellePartie()
        else:
            self.joueurConnect=[]
            for i in range(8):
                self.joueurConnect.append(StringVar)
            self.joueurConnect[0]=""
            self.joueurConnect[1]=""
            self.joueurConnect[2]=""
            self.joueurConnect[3]=""
            self.joueurConnect[4]=""
            self.joueurConnect[5]=""
            self.joueurConnect[6]=""
            self.joueurConnect[7]=""
            self.joueurs = self.parent.getJoueurs()
            self.nbJoueurs = self.parent.getNbJoueurs()
            self.nbJoueurs = int(self.nbJoueurs)
            for i in range(self.nbJoueurs):
                self.joueurConnect[i] = self.joueurs[i]
            s1=StringVar()
            s2=StringVar()
            s3=StringVar()
            s4=StringVar()
            s5=StringVar()
            s6=StringVar()
            s7=StringVar()
            s8=StringVar()
            
            s1.set(self.joueurConnect[0])
            s2.set(self.joueurConnect[1])
            s3.set(self.joueurConnect[2])
            s4.set(self.joueurConnect[3])
            s5.set(self.joueurConnect[4])
            s6.set(self.joueurConnect[5])
            s7.set(self.joueurConnect[6])
            s8.set(self.joueurConnect[7])
            
            joueur1 = Entry(self.frameLobby, state="readonly", textvariable=s1)
            joueur2 = Entry(self.frameLobby, state="readonly", textvariable=s2)
            joueur3 = Entry(self.frameLobby, state="readonly", textvariable=s3)
            joueur4 = Entry(self.frameLobby, state="readonly", textvariable=s4)
            joueur5 = Entry(self.frameLobby, state="readonly", textvariable=s5)
            joueur6 = Entry(self.frameLobby, state="readonly", textvariable=s6)
            joueur7 = Entry(self.frameLobby, state="readonly", textvariable=s7)
            joueur8 = Entry(self.frameLobby, state="readonly", textvariable=s8)
            joueur1.grid(row=2,column=0)
            joueur2.grid(row=3,column=0)
            joueur3.grid(row=4,column=0)
            joueur4.grid(row=5,column=0)
            joueur5.grid(row=6,column=0)
            joueur6.grid(row=7,column=0)
            joueur7.grid(row=8,column=0)
            joueur8.grid(row=9,column=0)
            
            self.root.after(100, self.dessinerLobby)
    
    def afficherGameLobby(self, var):
        self.frameAccueil.destroy()
        self.frameLobby = Frame(self.root)
        self.msgAccueil = Label(self.frameLobby, text="GAME LOBBY", font=("Calibri", 16), fg="red")
        self.msgAccueil.grid(row=0,column=0,columnspan=2)            
        
        l1 = Label(self.frameLobby, text="Nom des joueurs Connectés:")
        l1.grid(row=1,column=0)
        
                    
        self.buttonStart = Button(self.frameLobby, text="START", command=self.commencerPartie)  
        if var==1:  
            self.buttonStart.grid(row=10,column=0)
        self.frameLobby.pack()
        self.dessinerLobby()
        
    def commencerPartie(self):
        self.parent.debutPartie()
        